//1.导入
let mongoose = require('mongoose');
var Schema = mongoose.Schema;

//2.连接数据库
//指定连接的数据库不需要存在，当你插入第一条数据后，就会自动创建
mongoose.connect('mongodb://localhost/itcast');

//3.设计集合结构(表结构)
var userSchema = new Schema({
	username: {
		type: String,
		required: true, //必须有
	},
	password: {
		type: String,
		required: true,
	},
	email: String,
});

// 4.将设计集合发布为模型
// mongoose.model 方法用来将一个架构发布为 model
// 第一个参数：传入一个大写的名词单数字符串，表示集合名称
//           mongoose 会自动将大写名词单数字符串，生成一个小写名词复数的集合名称
//    User---users
// 返回一个模型构造函数
var User = mongoose.model('User', userSchema);

//5.使用构造函数集合，对数据进行 CRUD
// var admin = new User({
// 	username: '张三',
// 	password: '1234456',
// 	email: 'admin@admin.com',
// });

//6.存储到 mongodb 数据库相应的集合

/**
 * 新增
 */

//注册用户
//1.判断用户是否存在
//2.如果已存在，结束注册
//3.如果不存在，注册（保存一条用户信息）
User.findOne({
	username: '234',
})
	.then((user) => {
		if (user) {
			console.log('用户已存在');
		} else {
			//用户不存在，可以注册
			return new User({
				username: '李四',
				password: '1234575',
				email: 'lisi@admin.com',
			}).save();
		}
	})
	.then((res) => {
		console.log(res);
		console.log('注册成功');
	});
